package uy.edu.ort.dominio;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.hibernate.annotations.Type;

/**
 * Representación de una página en la aplicación.
 * @author 153287 - 154559
 */
@Entity
public class Pagina extends EntidadPersistente implements Serializable {
    
   
    /**
     * Nombre de la pagina.
     */
    @Column(name="NOMBRE")
    private String nombre;
    
    /**
     * Codigo html de la pagina.
     */
    @Column(name="HTML")
    @Type(type = "text")
    private String htmlData;
    
    /**
     * Tamaño de la pagina en bytes.
     */
    @Column(name="TAMAÑO")
    private double tamaño;

    @ManyToOne
    @JoinColumn(name="PROGRAMA", referencedColumnName="NOMBRE")
    private Programa programa;

    public Programa getPrograma() {
        return programa;
    }

    public void setPrograma(Programa programa) {
        this.programa = programa;
    }
            
    /**
     * Retorna el nombre de la página.
     * @return 
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * Asigna un nombre a la página.
     * @param nombre 
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * Retorna el código html de la página.
     * @return html
     */
    public String getHtmlData() {
        return htmlData;
    }

    /**
     * Asigna código html a la página.
     * @param htmlData 
     */
    public void setHtmlData(String htmlData) {
        this.htmlData = htmlData;
    }
    
    /**
     * Asigna el tamaño de la página en bytes.
     * @param tamaño 
     */
    public void setTamaño(double tamaño) {
        this.tamaño = tamaño;
    }
    
    /**
     * Retorna el tamaño de la página en bytes.
     * @return tamaño
     */
    public double getTamaño() {
        return this.tamaño;
    }
    
}
